home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / shareware / amigapmars / readme < prev    next >
Text File  |  1995-08-06  |  14KB  |  341 lines

  1. README for pMARS version 0.8.0 - portable corewar system with ICWS'94 extensions
  2.  
  3. ____________________
  4. What is Core War?
  5.  
  6.     Core War is a game in which two or more virus-like programs fight against
  7.     each other in a simulated memory space or core. Core War programs are
  8.     written in an assembly language called Redcode which is interpreted by a
  9.     Core War simulator or MARS (Memory Array Redcode Simulator). The object of
  10.     the game is to prevent the other program(s) from executing. For more
  11.     information about Core War check out the usenet newsgroup rec.games.corewar
  12.     and its FAQ list ftp://rtfm.mit.edu/pub/usenet/games/corewar-faq
  13.     or send E-mail to Stefan.Strack@Vanderbilt.edu.
  14.  
  15. ____________________
  16. pMARS highlights
  17.  
  18.     o portable, run it on your Mac at home or VAX at work
  19.     o free and comes with source
  20.     o core displays for DOS, Mac and UNIX
  21.     o implements a new redcode dialect, ICWS'94, while remaining compatible
  22.       with ICWS'88
  23.     o powerful redcode extensions: multi-line EQUates, FOR/ROF text repetition
  24.     o one of the fastest simulators written in a high level language
  25.     o full-featured, programmable debugger
  26.     o runs the automated tournament "KotH" at stormking.com and
  27.       ecst.csuchico.edu and the annual ICWS tournaments
  28.  
  29. ____________________
  30. Archives
  31.  
  32.     pMARS and related programs are distributed as either source or binary
  33.     compiled for different platforms in one of these archives:
  34.  
  35.     pmars08s.zip - C source, including UNIX and DOS displays
  36.  
  37.     pmars08.zip  - DOS binaries (386 and up)
  38.  
  39.     MacpMARS.*s.cpt.hqx - Mac GUI code (* is the version number), Mac source
  40.         and binary may not necessarily be up to date with the UNIX/DOS
  41.         version.
  42.  
  43.     MacpMARS.*.cpt.hqx - Mac binary
  44.  
  45.     pvms08.zip - VMS binary
  46.  
  47.     pvms08.zip - COM files to build pMARS and help system for VMS
  48.  
  49.     ptools10.zip - pMARS related programs as DOS binary and C source: mts,
  50.         mopt, pshell, etc. These programs were previously part of the main
  51.         pMARS archive.
  52.  
  53. ____________________
  54. Documentation
  55.  
  56.     pmars.6 is the nroff-source for UNIX man pages. You can install it in
  57.     /usr/man/man6 for use with the UNIX "man" command or format it with nroff
  58.     -man. pmars.doc contains man pages without control characters that have
  59.     been formatted for printing.
  60.  
  61.     primer.94 and primer.cdb contain short introductions to the ICWS'94 draft
  62.     and the cdb debugger respectively. redcode.ref is a quick reference to
  63.     the redcode syntax supported by pMARS. whatsnew.080, a "must read",
  64.     describes the new pMARS features. CONTRIB has guidelines for porting
  65.     pMARS to new platforms and contributing new display code.
  66.  
  67. ____________________
  68. DOS executables
  69.  
  70.     pmars08.zip contains two pMARS binaries. pmars.exe is a fast tournament
  71.     version without display capabilities; pmarsv.exe sports a graphical core
  72.     display in VGA, SVGA, standard and extended text modes. Both support core
  73.     sizes of up to several hundred thousand - the exact number depends on how
  74.     much free memory you have - and require a 386 or better processor. The
  75.     32-bit DOS extender go32.exe must be in the PATH for these programs to
  76.     run. More on the DOS binaries can be found in the addendum of pmars.doc.
  77.  
  78. ____________________
  79. Compiling the source
  80.  
  81.     There are a number of C preprocessor symbols that control which version
  82.     of pMARS is compiled. To enable an option, include -DSYMBOLNAME in CFLAGS
  83.     of the makefile or uncomment the relevant section in config.h.
  84.  
  85.     GRAPHX
  86.         This option enables a platform-specific graphical core display.
  87.  
  88.     SERVER
  89.         Disables the debugger for a non-interactive tournament version. The
  90.         pMARS program that runs the KotH email tournaments is compiled with
  91.         SERVER enabled.
  92.  
  93.     EXT94
  94.         Enables the experimental opcodes SEQ, SNE and NOP, as well as the
  95.         A-field relative addressing modes *, {, and }. This option should
  96.         usually be enabled. EXT94 also enables the P-space extensions LDP,
  97.         STP and PIN.
  98.  
  99.     SMALLMEM
  100.         makes all addresses 16-bit as opposed to the usual 32-bit wide. This
  101.         limits core size to 65535, but also drastically reduces the memory
  102.         footprint of the program. We found that SMALLMEM reduces the
  103.         simulation speed of pMARS on most CPUs, with the exception of those
  104.         with a very small primary cache.
  105.  
  106.     There are other compile directives described in config.h, in particular
  107.     some that fine-tune the UNIX curses display.
  108.  
  109.     pMARS has been tested with various ANSI and non-ANSI C compilers. If
  110.     you can't get it to run or you had to change the source extensively,
  111.     contact the authors with a full description of the problems and
  112.     diffs to the source if applicable.
  113.  
  114. ____________________
  115. Platforms
  116.  
  117.     UNIX
  118.         A standard UNIX makefile is provided. If you specify the GRAPHX
  119.         directive, a character-based display using the curses library is
  120.         built.  On some systems, it may be necessary to remove -ltermcap from
  121.         the LIB variable in the makefile.
  122.  
  123.     UNIX/X11
  124.         If you specify the XWINGRAPHX directive, the X-Windows display
  125.         version of pMARS is compiled. You also need to change the link
  126.         library by uncommenting the "LIB = -lX11" line in makefile. X11
  127.         pMARS has a few new command line options that are described in
  128.         pmars.doc.
  129.  
  130.     LINUX
  131.         The Linux/SVGA version of pMARS has been derived from the DOS
  132.         graphical version and therefore should behave very much like that
  133.         one.
  134.  
  135.         Some notes for compiling the Linux/SVGA version:
  136.         * You will need the Linux SVGA library (libvga) version 1.12 or above
  137.             to compile pMARS for Linux (it may work with older libraries, but
  138.             I have not had an opportunity to test it).
  139.         * If you #define GRAPHX in config.h or in the makefile, the graphical
  140.             version will automatically be built unless you explicitely
  141.             specify CURSESGRAPHX.
  142.         * You will have to link with -lvgagl -lvga. makefile already contains
  143.             a sample definition of LIB with these libraries.
  144.         * The code assumes that Function keys etc. map to the 'standard'
  145.             escape sequences. pMARS will not recognize these keys otherwise.
  146.         * You need root privileges for the SVGA library, so either run pMARS
  147.             as root, or a better solution is to set the SUID bit of the
  148.             executable (do the following with root privileges).
  149.             # chown root pmars
  150.             # chmod u+s pmars
  151.         * The code assumes your mouse is available via /dev/mouse. This is
  152.             usually a link to the 'real' mouse interface, e.g. on my system:
  153.             # cd /dev
  154.             # ls -l mouse
  155.             lrwxrwxrwx   1 root     root        5 Mar  2 00:22 mouse -> ttyS0
  156.         * The second digit of the the argument to -v indicates (just like in
  157.             the DOS version) the graphics mode:
  158.             1 ... 640x480 with 256 colors
  159.             2 ... 800x600 with 256 colors
  160.             3 ...1024x768 with 256 colors
  161.             6 ... 320x200 with 256 colors
  162.             all other digits will result in the 640x480x256 mode.
  163.  
  164.         Deficiencies/bugs of the Linux/SVGA version:
  165.         * Currently, the following keys are recognized by pMARS: F1-F10, the
  166.             cursor keys, insert, delete, home, end, page up and page down,
  167.             and Alt-a to Alt-z.
  168.         * The result of a fight is printed to the console after returning
  169.             from the graphical display -- only the last two lines or so are
  170.             not visible until you press <return>.
  171.         * Bug reports are welcome - just drop a note to m.maierhofer@ieee.org
  172.  
  173.     DOS
  174.         We will continue to provide a compiled 32-bit executable for DOS, but
  175.         you can make your own executable if you want to experiment. You need
  176.         the free 32-bit DOS compiler DJGPP - a DOS port of gcc - and ndmake or
  177.         some other make program. pMARS also compiles with the 16-bit DOS
  178.         compilers of the Borland/Turbo C family, but the maximum number of
  179.         warriors is limited to 8 because of memory constraints.
  180.  
  181.         The GRAPHX compile directive enables the combined VGA/textmode
  182.         display of pmarsv.exe. You can enable the graphics and textmode
  183.         displays selectively with the DOSGRXGRAPHX and DOSTXTGRAPHX
  184.         directives. If you so desire, you can even link in a curses display
  185.         using the PDCurses library by specifying the CURSESGRAPHX directive.
  186.  
  187.     MAC
  188.         The Mac GUI version of pMARS, MacpMARS, will compile with Think C
  189.         and MPW C, possibly others. Source code for the interface/display of
  190.         MacpMARS as well as instructions on how to make the executable are
  191.         in MacpMARS*s.cpt.hqx. The GUI code has not been updated for v0.7 of
  192.         pMARS yet, so you need the base archive for v0.6 (pmars06s.zip).
  193.  
  194.     VMS
  195.         pvms*s.zip contains command files to build pMARS for VMS flavors. You
  196.         need DEC C; VAX C will not work. This file also contains a complete VMS
  197.         help system.
  198.  
  199.     OTHERS
  200.         pMARS should compile with Borland C++ for OS/2, although we haven't
  201.         tried it. The OS/2 version currently doesn't have a core display.
  202.         pMARS has also been reported to compile on Amigas.
  203.  
  204. ____________________
  205. Language support
  206.  
  207.     All strings are contained in the file str_eng.c for easy translation into
  208.     languages other than english. If you would like to see pMARS speak your
  209.     native tongue, translate the strings and send the file to us. We will then
  210.     include the new str_???.c in the next release and might even release the
  211.     foreign language binaries.
  212.  
  213. ____________________
  214. Version history
  215.  
  216.     0.0.1 8/17/93: Initial release
  217.     0.1.1 9/1/93 : post-mortem debugger avoidable, doc fixes
  218.     0.1.2 9/9/93 : Mac compiler define fixed, initial core instr. not displayed
  219.     0.2.0 9/12/93: cdb command chains; ! repetitor
  220.     0.2.1 9/19/93: fixed display bug in cdb.c; max. instr. increased to 500
  221.     0.2.2 9/29/93: Text/Graphics display with cdb for DOS, -v, -K seeds RNG
  222.     0.3.0 10/23/93:DOS/Mac version simulator bug fixed, JMN/DJN fixed
  223.     0.3.1 10/27/93:fixed small bug in pmarsv.exe
  224.     0.4.0 1/19/94 : curses display, macros, scroll keys, registers
  225.     0.5.0 4/10/94: 2-panel cdb, pqueue, if, reset, SEQ, SNE, NOP
  226.     0.5.1 5/1/94:  Graphics display for big core pmarsv.exe
  227.     0.6.0 6/8/94:  A-field indirect modes, merged FOR/ROF and EQU pass, ;assert
  228.     0.6.1 6/22/94: curses display status bar, minor speed improvement
  229.     0.6.2 7/16/94: fixed } mode bug, ignores text before ;redcode
  230.     0.6.3 8/9/94: minor ;assert bug fixed
  231.     0.7.0 4/15/95: multi-warrior capabilities, -@, stdin warrior/option input
  232.     0.7.1 4/17/95: minor compatibility fixes
  233.     0.7.5 6/11/95: score formula option, linux/SVGA display, VMS port
  234.     0.8.0 8/5/95:  LDP,STP,PIN; X Windows display
  235.  
  236. ____________________
  237. Disclaimer
  238.  
  239.     pMARS source and documentation is copyrighted freeware. It may be
  240.     distributed freely as long as no more than the costs for media and
  241.     shipping is charged. Contact the authors for special arrangements.
  242.     The authors are not responsible for any damage resulting from use
  243.     of this program.
  244.  
  245.     You are free to modify the source, but may not distribute the
  246.     modified source or executable without permission by the authors.
  247.     Please share any improvements you make with us.
  248.  
  249. ____________________
  250. Authors
  251.  
  252.     pMARS is brought to you by:
  253.  
  254.     Albert Ma (ama@athena.mit.edu)
  255.     Nandor Sieben (nandor.sieben@asu.edu)
  256.     Stefan Strack (stst@vuse.vanderbilt.edu)
  257.     Mintardjo Wangsaw (wangsawm@csos.orst.edu)
  258.  
  259.     Alex Macaulay (macaulay@mundil.cs.mu.oz.au) wrote the Macintosh
  260.     front-end. Martin Maierhofer (m.maierhofer@ieee.org) contributed the
  261.     code for the X-Windows and the linux SVGA displays. Nathan Summers
  262.     (00ncsummers@bsuvc.bsu.edu) ported pMARS to VMS.
  263.  
  264. ____________________
  265. Join the team!
  266.  
  267.     pMARS is a group project; apart from us four original developers, there
  268.     are currently people working on display versions for other systems.
  269.     We invite you to become part of the team by porting pMARS to even more
  270.     operating systems and GUIs. In particular, we would like to see pMARS run
  271.     under:
  272.  
  273.         o OS/2 with PM display
  274.         o Motif
  275.         o MS-Windows/Windows NT
  276.         o Atari
  277.  
  278.      See the file CONTRIB for details.
  279.  
  280. ____________________
  281. Questionaire
  282.  
  283.     We need your feedback to guide our development efforts. Please take some
  284.     time to fill out the questionaire below and email it to
  285.     nandor.sieben@asu.edu. The improvements you suggest may be realized in the
  286.     next pMARS release!
  287.  
  288. ----- CUT HERE ---------- CUT HERE ---------- CUT HERE ---------- CUT HERE -----
  289. A) General:
  290.  
  291. 1) Which corewar simulator(s) do you use, which most often ?
  292.  
  293. _____________________________________________________
  294.  
  295. 2) What machine(s), OS(s) do you run corewar on ?
  296.  
  297. _____________________________________________________
  298.  
  299.  
  300. 3) Why do you prefer the simulator you use most often ?
  301.  
  302. _____________________________________________________
  303.  
  304. B) About pMARS:
  305.  
  306. 1) What machine/OS do you use to run pMARS (Unix/DOS/Mac/...) ?
  307.  
  308. _____________________________________________________
  309.  
  310. 2) What kind of coreviewer do you use most often (DOS text/graphics/
  311.    curses/none) ?
  312.  
  313. _____________________________________________________
  314.  
  315. 3) How would you rank pMARS from 1 to 10 in terms of
  316.         speed                  __ ____________ (optional comments)
  317.         display features       __ ____________
  318.         ease of use            __ ____________
  319.         debugging capabilities __ ____________
  320.         stability              __ ____________
  321.  
  322. 4) What would you like to see changed/added in future releases of pMARS?
  323.  
  324. _____________________________________________________
  325.  
  326. 5) Did you read the documentations files or do you depend on the online help ?
  327. How would you rate documentation and online help?
  328.  
  329. _____________________________________________________
  330.  
  331. 6) Do you use the menuing frontend pshell on DOS? If so, how do you like it
  332. and what would you like to see added or improved?
  333.  
  334. _____________________________________________________
  335.  
  336. Check here if you would like to be informed of new releases by email:
  337.  
  338.         __ email address: __________________
  339.  
  340. $Id: README,v 1.9 1995/08/06 20:36:40 stst Exp stst $
  341.